export default {
  namespaced: true,
  state() {
    return {
      // 收货地址数据
      // 读取本地的收货地址数据，初始化 address 对象
      address: (uni.getStorageSync('address') || '{}')
    }
  },
  mutations: {
    // 更新收货地址方法
    updateadress(state, address) {
      state.address = address
      // 通过 this.commit() 方法，调用 user 模块下的 saveaddress 方法将 address 对象持久化存储到本地
      this.commit('user/saveaddress')
    },
    //  定义将 address 持久化存储到本地 mutations 方法
    saveaddress(state) {
      uni.setStorageSync('address', (state.address))
    }
  },
  getters: {
    // 收货详细地址的计算属性
    addstr(state) {
      if (!state.address.provinceName) return ''
      // 拼接 省，市，区，详细地址 的字符串并返回给用户
      return (
        state.address.provinceName +
        state.address.cityName +
        state.address.countyName +
        state.address.detailInfo
      )
    }
  }
}
